// 栈结构封装
export default class Stack{

	// 创建
	constructor() {
		this.items = [];
	}

	// 判断栈中元素是否为空
	isEmpty(){
		return this.items.length === 0;
	}

	// 压栈操作
	push(element){
		this.items.push(element);
	}

	//出栈操作
	pop(){
		if (this.isEmpty()) throw new Error("栈空了");
		return  this.items.pop();
	}

	//peek操作
	peek(){
		if (this.isEmpty()) throw new Error("栈空了");
		return  this.items[this.items.length - 1];
	}

	// 获取栈中元素的个数
	size(){
		return this.items.length;
	}

	// 返回以字符串形式的栈内元素
	toString(){
		let result = "";
		for (let item of this.items){
			result += item + " ";
		}
		return result;
	}


}
